//    Copyright (C) Kherty.  All rights reserved.
namespace OpenLS.Spreadsheet.Formats.Biff.Tokens
{
    internal enum FormulaTokenId : byte
    {
        None = 0,

        Exp = 0x01,

        Tbl = 0x02,

        Add = 0x03,

        Sub = 0x04,

        Mul = 0x05,

        Div = 0x06,

        Power = 0x07,

        Concat = 0x08,

        LT = 0x09,

        LE = 0x0A,

        EQ = 0x0B,

        GE = 0x0C,

        GT = 0x0D,

        NE = 0x0E,


        Isect = 0x0F,

        Union = 0x10,

        Range = 0x11,

        Uplus = 0x12,

        Uminus = 0x13,

        Percent = 0x14,

        Paren = 0x15,

        MissArg = 0x16,

        Str = 0x17,

        Extended = 0x18,

        Attr = 0x19,

        Sheet = 0x1A,

        EndSheet = 0x1B,

        Err = 0x1C,

        Bool = 0x1D,

        Int = 0x1E,

        Num = 0x1F,

        Array = 0x20,

        Func = 0x21,

        FuncVar = 0x22,

        Name = 0x23,

        Ref = 0x24,

        Area = 0x25,

        MemArea = 0x26,

        MemErr = 0x27,

        MemNoMem = 0x28,

        MemFunc = 0x29,

        RefErr = 0x2A,

        AreaErr = 0x2B,

        RefN = 0x2C,

        AreaN = 0x2D,

        MemAreaN = 0x2E,

        MemNoMemN = 0x2F,

        NameX = 0x39,

        Ref3d = 0x3A,

        Area3d = 0x3B,

        RefErr3d = 0x3C,

        AreaErr3d = 0x3D,

        ArrayV = 0x40,

        FuncV = 0x41,

        FuncVarV = 0x42,

        NameV = 0x43,

        RefV = 0x44,

        AreaV = 0x45,

        MemAreaV = 0x46,

        MemErrV = 0x47,

        MemNoMemV = 0x48,

        MemFuncV = 0x49,

        RefErrV = 0x4A,

        AreaErrV = 0x4B,

        RefNV = 0x4C,

        AreaNV = 0x4D,

        MemAreaNV = 0x4E,

        MemNoMemNV = 0x4F,

        FuncCE = 0x38,

        FuncCEV = 0x58,

        NameXV = 0x59,

        Ref3dV = 0x5A,

        Area3dV = 0x5B,

        RefErr3dV = 0x5C,

        AreaErr3dV = 0x5D,

        ArrayA = 0x60,

        FuncA = 0x61,

        FuncVarA = 98,

        NameA = 99,

        RefA = 100,

        AreaA = 0x65,

        MemAreaA = 0x66,

        MemErrA = 0x67,

        MemNoMemA = 0x68,

        MemFuncA = 0x69,

        RefErrA = 0x6A,

        AreaErrA = 0x6B,

        RefNA = 0x6C,

        AreaNA = 0x6D,

        MemAreaNA = 0x6E,

        MemNoMemNA = 0x6F,

        FuncCEA = 0x78,

        NameXA = 0x79,

        Ref3dA = 0x7A,

        Area3dA = 0x7B,

        RefErr3dA = 0x7C,

        AreaErr3dA = 0x7D,


        //old
        /*
 // CloseBracket = 0x1005,
 //CloseParenthesis = 0x1002,
 //Comma = 0x1003,
 //DDELink = 0x100a,
 //EndOfFormula = 0x1001,
 //Identifier = 0x1009,
 //OpenBracket = 0x1004,
 //Space = 0x1008,
 // Add = 3,
 AreaR = 0x25,
 // AreaV = 0x45,
 // AreaA = 0x65,
 Area3DR = 0x3b,
 Area3DV = 0x5b,
 Area3DA = 0x7b,
 AreaErrR = 0x2b,
 // AreaErrV = 0x4b,
 // AreaErrA = 0x6b,
 AreaErr3dR = 0x3d,
 // AreaErr3dV = 0x5d,
 // AreaErr3dA = 0x7d,
 AreaNR = 0x2d,
 // AreaNV = 0x4d,
 // AreaNA = 0x6d,
 ArrayR = 0x20,
 // ArrayV = 0x40,
 // ArrayA = 0x60,
 // Attr = 0x19,
 Boolean = 0x1d,
 CellRange = 0x11,
 RangeIntersection = 15,
 RangeList = 0x10,
 // Concat = 8,
 // Div = 6,
 // EndSheet = 0x1b,
 Equal = 11,
 Error = 0x1c,
 // Exp = 1,
 Extended = 0x18,
 FunctionR = 0x21,
 FunctionV = 0x41,
 FunctionA = 0x61,
 FunctionCER = 0x38,
 FunctionCEV = 0x58,
 FunctionCEA = 120,
 FunctionVarR = 0x22,
 FunctionVarV = 0x42,
 FunctionVarA = 0x62,
 Greater = 13,
 GreaterEqual = 12,
 Integer = 30,
 LessEqual = 10,
 LessThan = 9,
 MemAreaR = 0x26,
 // MemAreaV = 70,
 // MemAreaA = 0x66,
 MemAreaNR = 0x2e,
 // MemAreaNV = 0x4e,
 // MemAreaNA = 110,
 MemErrR = 0x27,
 // MemErrV = 0x47,
 // MemErrA = 0x67,
 MemFuncR = 0x29,
 // MemFuncV = 0x49,
 // MemFuncA = 0x69,
 MemNoMemR = 40,
 // MemNoMemV = 0x48,
 // MemNoMemA = 0x68,
 MemNoMemNR = 0x2f,
 // MemNoMemNV = 0x4f,
 // MemNoMemNA = 0x6f,
 MissingArgument = 0x16,
 //Mul = 5,
 NameR = 0x23,
 // NameV = 0x43,
 // NameA = 0x63,
 NameXR = 0x39,
 // NameXV = 0x59,
 // NameXA = 0x79,
 NotEqual = 14,
 Number = 0x1f,
 Parentheses = 0x15,
 // Percent = 20,
 // Power = 7,
 RefR = 0x24,
 //RefV = 0x44,
 //RefA = 100,
 Ref3dR = 0x3a,
 //Ref3dV = 90,
 //Ref3dA = 0x7a,
 RefErrR = 0x2a,
 //RefErrV = 0x4a,
 //RefErrA = 0x6a,
 RefErr3dR = 60,
 //RefErr3dV = 0x5c,
 //RefErr3dA = 0x7c,
 RefNR = 0x2c,
 //RefNV = 0x4c,
 //RefNA = 0x6c,
 //Sheet = 0x1a,
 //Str = 0x17,
 //Sub = 4,
 //Tbl = 2,
 UnaryMinus = 0x13,
 UnaryPlus = 0x12,
 //ValueFalse = 0x1007,
 //ValueTrue = 0x1006
 */
    }
}